package com.spark.modules.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.spark.common.core.entity.model.DictModel;
import com.spark.common.core.entity.model.DictModelMany;
import com.spark.common.core.entity.system.SysDict;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统数据字典Mapper
 *
 * @author LYCHEE
 * @date 2025/02/20 10:20
 */
public interface SysDictMapper extends BaseMapper<SysDict> {


    /**
     * 查询所有字典和字典项
     *
     * @return 字典数据
     */
    List<SysDict> queryAllDict();

    /**
     * 查询字典表的数据
     *
     * @param table 表名
     * @param text  显示字段名
     * @param code  存储字段名
     * @param keys  存储字段值 作为查询条件in
     * @return
     */
    List<DictModel> queryTableDictTextByKeys(@Param("table") String table, @Param("text") String text, @Param("code") String code,
                                             @Param("keys") List<String> keys);

    /**
     * 可通过多个字典code查询翻译文本
     *
     * @param dictCodeList 多个字典code
     * @param keys         数据列表
     * @return
     */
    List<DictModelMany> queryManyDictByKeys(@Param("dictCodeList") List<String> dictCodeList,@Param("keys") List<String> keys);
}
